import { Shape } from "../shape";

export class tmArc extends Shape {
    draw():this{
        if (!this.canvas.ctx) return this;
        let ctx = this.canvas.ctx;
        const x = this.x;
        const y = this.y;
        const width = this.width;
        const height = this.height;
        const fillStyle = this.fillStyle;
        const strokeStyle = this.strokeStyle;
        const lineWidth = this.lineWidth
        const r = this.r
        const sAngle = this.sAngle * (Math.PI/180) - Math.PI/2
        const eAngle = this.eAngle * (Math.PI/180) - Math.PI/2
       
        ctx.beginPath();
        if(ctx.setFillStyle){
            ctx.setFillStyle(fillStyle)
            ctx.setLineWidth(lineWidth)
            ctx.setStrokeStyle(strokeStyle)
            ctx.setLineJoin(this.lineJoin)
            ctx.setLineDash(this.lineDash,this.lineDashOffset)
        }else{
            ctx.fillStyle = fillStyle;
            ctx.lineWidth = lineWidth;
            ctx.strokeStyle = strokeStyle;
            ctx.lineJoin = this.lineJoin
            ctx.setLineDash(this.lineDash,this.lineDashOffset)
        }

        ctx.arc(x,y,r,sAngle,eAngle)
        
        ctx.fill()
        ctx.stroke()
        
        return this;
    }
}